from multiprocessing.queues import Queue
'''
@author: Rocio 
'''

class FCFS:

    def __init__ (self):
        self.ready = Queue()
        self.currentTask = None
        
    def currentTask(self):
        # Retorna la tarea actual
        return self.currentTask

    def nextTask(self):
        # pide la siguiente tarea
        pcb = self.ready.get(0)
        self.ready.remove(pcb)
        self.currentTask = pcb
        return pcb
        
    def addTask(self, aTask):
        # Agrega una tarea
        self.ready.add(aTask)


    def killCurrentTask(self):
        # Mata la tarea actual
        self.currentTask = None
    def hasNext(self):
        # Pregunta si existe una siguiente tarea
        return len(self.ready) > 0

    def setReady(self, readys):
        self.ready = readys